/*************************************************************************
	> File Name: 236_hz.cpp
	> Author: zhangxu 
	> Mail: walrus1983@126.com
	> Created Time: 三  7/10 20:30:50 2024
 ************************************************************************/

#include <cstdio>
#include<iostream>
using namespace std;
int cnt[10];

void printResult(int m);

void printResult(int m) {
	for(int i = 0; i < m; i++) {
		if(i) printf(" ");
		printf("%d", cnt[i]);
	}
	printf("\n");
	return ;
}

void dfs(int pos, int k, int n, int m) {
	if(pos == m) {
		printResult(m);
		return ;
	}
	for(int i = k; i <= n; i++) {
		cnt[pos] = i;
		dfs(pos + 1, i + 1, n, m);
	}
	return ;
}

int main() {
	int n, m;
	cin >> n >> m;
	dfs(0, 1, n, m);
	return 0;
}

// int n, m, cnt = 0, arr[15];

// void func(int a, int left) {
// 	if(left == 0) {
// 		for(int i = 0; i < cnt; i++) {
// 			if(i) cout << " ";
// 			cout << arr[i];
// 		}
// 		cout << endl;
// 		return ;
// 	}
// 	for(int i = a; i <= n - left + 1; i++) {
// 		arr[cnt] = i;
// 		cnt++;
// 		func(i + 1, left - 1);
// 		cnt--;
// 	}
// 	return ;
// }

// int main() {
// 	cin >> n >> m;
// 	func(1, m);

// 	return 0;
// }